package com.lxk.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MomentExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public MomentExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andMomentIdIsNull() {
            addCriterion("moment_id is null");
            return (Criteria) this;
        }

        public Criteria andMomentIdIsNotNull() {
            addCriterion("moment_id is not null");
            return (Criteria) this;
        }

        public Criteria andMomentIdEqualTo(Integer value) {
            addCriterion("moment_id =", value, "momentId");
            return (Criteria) this;
        }

        public Criteria andMomentIdNotEqualTo(Integer value) {
            addCriterion("moment_id <>", value, "momentId");
            return (Criteria) this;
        }

        public Criteria andMomentIdGreaterThan(Integer value) {
            addCriterion("moment_id >", value, "momentId");
            return (Criteria) this;
        }

        public Criteria andMomentIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("moment_id >=", value, "momentId");
            return (Criteria) this;
        }

        public Criteria andMomentIdLessThan(Integer value) {
            addCriterion("moment_id <", value, "momentId");
            return (Criteria) this;
        }

        public Criteria andMomentIdLessThanOrEqualTo(Integer value) {
            addCriterion("moment_id <=", value, "momentId");
            return (Criteria) this;
        }

        public Criteria andMomentIdIn(List<Integer> values) {
            addCriterion("moment_id in", values, "momentId");
            return (Criteria) this;
        }

        public Criteria andMomentIdNotIn(List<Integer> values) {
            addCriterion("moment_id not in", values, "momentId");
            return (Criteria) this;
        }

        public Criteria andMomentIdBetween(Integer value1, Integer value2) {
            addCriterion("moment_id between", value1, value2, "momentId");
            return (Criteria) this;
        }

        public Criteria andMomentIdNotBetween(Integer value1, Integer value2) {
            addCriterion("moment_id not between", value1, value2, "momentId");
            return (Criteria) this;
        }

        public Criteria andWxUserIdIsNull() {
            addCriterion("wx_user_id is null");
            return (Criteria) this;
        }

        public Criteria andWxUserIdIsNotNull() {
            addCriterion("wx_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andWxUserIdEqualTo(Integer value) {
            addCriterion("wx_user_id =", value, "wxUserId");
            return (Criteria) this;
        }

        public Criteria andWxUserIdNotEqualTo(Integer value) {
            addCriterion("wx_user_id <>", value, "wxUserId");
            return (Criteria) this;
        }

        public Criteria andWxUserIdGreaterThan(Integer value) {
            addCriterion("wx_user_id >", value, "wxUserId");
            return (Criteria) this;
        }

        public Criteria andWxUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("wx_user_id >=", value, "wxUserId");
            return (Criteria) this;
        }

        public Criteria andWxUserIdLessThan(Integer value) {
            addCriterion("wx_user_id <", value, "wxUserId");
            return (Criteria) this;
        }

        public Criteria andWxUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("wx_user_id <=", value, "wxUserId");
            return (Criteria) this;
        }

        public Criteria andWxUserIdIn(List<Integer> values) {
            addCriterion("wx_user_id in", values, "wxUserId");
            return (Criteria) this;
        }

        public Criteria andWxUserIdNotIn(List<Integer> values) {
            addCriterion("wx_user_id not in", values, "wxUserId");
            return (Criteria) this;
        }

        public Criteria andWxUserIdBetween(Integer value1, Integer value2) {
            addCriterion("wx_user_id between", value1, value2, "wxUserId");
            return (Criteria) this;
        }

        public Criteria andWxUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("wx_user_id not between", value1, value2, "wxUserId");
            return (Criteria) this;
        }

        public Criteria andMomentTypeIsNull() {
            addCriterion("moment_type is null");
            return (Criteria) this;
        }

        public Criteria andMomentTypeIsNotNull() {
            addCriterion("moment_type is not null");
            return (Criteria) this;
        }

        public Criteria andMomentTypeEqualTo(Integer value) {
            addCriterion("moment_type =", value, "momentType");
            return (Criteria) this;
        }

        public Criteria andMomentTypeNotEqualTo(Integer value) {
            addCriterion("moment_type <>", value, "momentType");
            return (Criteria) this;
        }

        public Criteria andMomentTypeGreaterThan(Integer value) {
            addCriterion("moment_type >", value, "momentType");
            return (Criteria) this;
        }

        public Criteria andMomentTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("moment_type >=", value, "momentType");
            return (Criteria) this;
        }

        public Criteria andMomentTypeLessThan(Integer value) {
            addCriterion("moment_type <", value, "momentType");
            return (Criteria) this;
        }

        public Criteria andMomentTypeLessThanOrEqualTo(Integer value) {
            addCriterion("moment_type <=", value, "momentType");
            return (Criteria) this;
        }

        public Criteria andMomentTypeIn(List<Integer> values) {
            addCriterion("moment_type in", values, "momentType");
            return (Criteria) this;
        }

        public Criteria andMomentTypeNotIn(List<Integer> values) {
            addCriterion("moment_type not in", values, "momentType");
            return (Criteria) this;
        }

        public Criteria andMomentTypeBetween(Integer value1, Integer value2) {
            addCriterion("moment_type between", value1, value2, "momentType");
            return (Criteria) this;
        }

        public Criteria andMomentTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("moment_type not between", value1, value2, "momentType");
            return (Criteria) this;
        }

        public Criteria andMediaUrlIsNull() {
            addCriterion("media_url is null");
            return (Criteria) this;
        }

        public Criteria andMediaUrlIsNotNull() {
            addCriterion("media_url is not null");
            return (Criteria) this;
        }

        public Criteria andMediaUrlEqualTo(String value) {
            addCriterion("media_url =", value, "mediaUrl");
            return (Criteria) this;
        }

        public Criteria andMediaUrlNotEqualTo(String value) {
            addCriterion("media_url <>", value, "mediaUrl");
            return (Criteria) this;
        }

        public Criteria andMediaUrlGreaterThan(String value) {
            addCriterion("media_url >", value, "mediaUrl");
            return (Criteria) this;
        }

        public Criteria andMediaUrlGreaterThanOrEqualTo(String value) {
            addCriterion("media_url >=", value, "mediaUrl");
            return (Criteria) this;
        }

        public Criteria andMediaUrlLessThan(String value) {
            addCriterion("media_url <", value, "mediaUrl");
            return (Criteria) this;
        }

        public Criteria andMediaUrlLessThanOrEqualTo(String value) {
            addCriterion("media_url <=", value, "mediaUrl");
            return (Criteria) this;
        }

        public Criteria andMediaUrlLike(String value) {
            addCriterion("media_url like", value, "mediaUrl");
            return (Criteria) this;
        }

        public Criteria andMediaUrlNotLike(String value) {
            addCriterion("media_url not like", value, "mediaUrl");
            return (Criteria) this;
        }

        public Criteria andMediaUrlIn(List<String> values) {
            addCriterion("media_url in", values, "mediaUrl");
            return (Criteria) this;
        }

        public Criteria andMediaUrlNotIn(List<String> values) {
            addCriterion("media_url not in", values, "mediaUrl");
            return (Criteria) this;
        }

        public Criteria andMediaUrlBetween(String value1, String value2) {
            addCriterion("media_url between", value1, value2, "mediaUrl");
            return (Criteria) this;
        }

        public Criteria andMediaUrlNotBetween(String value1, String value2) {
            addCriterion("media_url not between", value1, value2, "mediaUrl");
            return (Criteria) this;
        }

        public Criteria andMomentTitleIsNull() {
            addCriterion("moment_title is null");
            return (Criteria) this;
        }

        public Criteria andMomentTitleIsNotNull() {
            addCriterion("moment_title is not null");
            return (Criteria) this;
        }

        public Criteria andMomentTitleEqualTo(String value) {
            addCriterion("moment_title =", value, "momentTitle");
            return (Criteria) this;
        }

        public Criteria andMomentTitleNotEqualTo(String value) {
            addCriterion("moment_title <>", value, "momentTitle");
            return (Criteria) this;
        }

        public Criteria andMomentTitleGreaterThan(String value) {
            addCriterion("moment_title >", value, "momentTitle");
            return (Criteria) this;
        }

        public Criteria andMomentTitleGreaterThanOrEqualTo(String value) {
            addCriterion("moment_title >=", value, "momentTitle");
            return (Criteria) this;
        }

        public Criteria andMomentTitleLessThan(String value) {
            addCriterion("moment_title <", value, "momentTitle");
            return (Criteria) this;
        }

        public Criteria andMomentTitleLessThanOrEqualTo(String value) {
            addCriterion("moment_title <=", value, "momentTitle");
            return (Criteria) this;
        }

        public Criteria andMomentTitleLike(String value) {
            addCriterion("moment_title like", value, "momentTitle");
            return (Criteria) this;
        }

        public Criteria andMomentTitleNotLike(String value) {
            addCriterion("moment_title not like", value, "momentTitle");
            return (Criteria) this;
        }

        public Criteria andMomentTitleIn(List<String> values) {
            addCriterion("moment_title in", values, "momentTitle");
            return (Criteria) this;
        }

        public Criteria andMomentTitleNotIn(List<String> values) {
            addCriterion("moment_title not in", values, "momentTitle");
            return (Criteria) this;
        }

        public Criteria andMomentTitleBetween(String value1, String value2) {
            addCriterion("moment_title between", value1, value2, "momentTitle");
            return (Criteria) this;
        }

        public Criteria andMomentTitleNotBetween(String value1, String value2) {
            addCriterion("moment_title not between", value1, value2, "momentTitle");
            return (Criteria) this;
        }

        public Criteria andMomentTextIsNull() {
            addCriterion("moment_text is null");
            return (Criteria) this;
        }

        public Criteria andMomentTextIsNotNull() {
            addCriterion("moment_text is not null");
            return (Criteria) this;
        }

        public Criteria andMomentTextEqualTo(String value) {
            addCriterion("moment_text =", value, "momentText");
            return (Criteria) this;
        }

        public Criteria andMomentTextNotEqualTo(String value) {
            addCriterion("moment_text <>", value, "momentText");
            return (Criteria) this;
        }

        public Criteria andMomentTextGreaterThan(String value) {
            addCriterion("moment_text >", value, "momentText");
            return (Criteria) this;
        }

        public Criteria andMomentTextGreaterThanOrEqualTo(String value) {
            addCriterion("moment_text >=", value, "momentText");
            return (Criteria) this;
        }

        public Criteria andMomentTextLessThan(String value) {
            addCriterion("moment_text <", value, "momentText");
            return (Criteria) this;
        }

        public Criteria andMomentTextLessThanOrEqualTo(String value) {
            addCriterion("moment_text <=", value, "momentText");
            return (Criteria) this;
        }

        public Criteria andMomentTextLike(String value) {
            addCriterion("moment_text like", value, "momentText");
            return (Criteria) this;
        }

        public Criteria andMomentTextNotLike(String value) {
            addCriterion("moment_text not like", value, "momentText");
            return (Criteria) this;
        }

        public Criteria andMomentTextIn(List<String> values) {
            addCriterion("moment_text in", values, "momentText");
            return (Criteria) this;
        }

        public Criteria andMomentTextNotIn(List<String> values) {
            addCriterion("moment_text not in", values, "momentText");
            return (Criteria) this;
        }

        public Criteria andMomentTextBetween(String value1, String value2) {
            addCriterion("moment_text between", value1, value2, "momentText");
            return (Criteria) this;
        }

        public Criteria andMomentTextNotBetween(String value1, String value2) {
            addCriterion("moment_text not between", value1, value2, "momentText");
            return (Criteria) this;
        }

        public Criteria andMomentTimeIsNull() {
            addCriterion("moment_time is null");
            return (Criteria) this;
        }

        public Criteria andMomentTimeIsNotNull() {
            addCriterion("moment_time is not null");
            return (Criteria) this;
        }

        public Criteria andMomentTimeEqualTo(Date value) {
            addCriterion("moment_time =", value, "momentTime");
            return (Criteria) this;
        }

        public Criteria andMomentTimeNotEqualTo(Date value) {
            addCriterion("moment_time <>", value, "momentTime");
            return (Criteria) this;
        }

        public Criteria andMomentTimeGreaterThan(Date value) {
            addCriterion("moment_time >", value, "momentTime");
            return (Criteria) this;
        }

        public Criteria andMomentTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("moment_time >=", value, "momentTime");
            return (Criteria) this;
        }

        public Criteria andMomentTimeLessThan(Date value) {
            addCriterion("moment_time <", value, "momentTime");
            return (Criteria) this;
        }

        public Criteria andMomentTimeLessThanOrEqualTo(Date value) {
            addCriterion("moment_time <=", value, "momentTime");
            return (Criteria) this;
        }

        public Criteria andMomentTimeIn(List<Date> values) {
            addCriterion("moment_time in", values, "momentTime");
            return (Criteria) this;
        }

        public Criteria andMomentTimeNotIn(List<Date> values) {
            addCriterion("moment_time not in", values, "momentTime");
            return (Criteria) this;
        }

        public Criteria andMomentTimeBetween(Date value1, Date value2) {
            addCriterion("moment_time between", value1, value2, "momentTime");
            return (Criteria) this;
        }

        public Criteria andMomentTimeNotBetween(Date value1, Date value2) {
            addCriterion("moment_time not between", value1, value2, "momentTime");
            return (Criteria) this;
        }

        public Criteria andGoodsIdIsNull() {
            addCriterion("goods_id is null");
            return (Criteria) this;
        }

        public Criteria andGoodsIdIsNotNull() {
            addCriterion("goods_id is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsIdEqualTo(Integer value) {
            addCriterion("goods_id =", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotEqualTo(Integer value) {
            addCriterion("goods_id <>", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdGreaterThan(Integer value) {
            addCriterion("goods_id >", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("goods_id >=", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdLessThan(Integer value) {
            addCriterion("goods_id <", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdLessThanOrEqualTo(Integer value) {
            addCriterion("goods_id <=", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdIn(List<Integer> values) {
            addCriterion("goods_id in", values, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotIn(List<Integer> values) {
            addCriterion("goods_id not in", values, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdBetween(Integer value1, Integer value2) {
            addCriterion("goods_id between", value1, value2, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotBetween(Integer value1, Integer value2) {
            addCriterion("goods_id not between", value1, value2, "goodsId");
            return (Criteria) this;
        }

        public Criteria andLikeNumIsNull() {
            addCriterion("like_num is null");
            return (Criteria) this;
        }

        public Criteria andLikeNumIsNotNull() {
            addCriterion("like_num is not null");
            return (Criteria) this;
        }

        public Criteria andLikeNumEqualTo(Integer value) {
            addCriterion("like_num =", value, "likeNum");
            return (Criteria) this;
        }

        public Criteria andLikeNumNotEqualTo(Integer value) {
            addCriterion("like_num <>", value, "likeNum");
            return (Criteria) this;
        }

        public Criteria andLikeNumGreaterThan(Integer value) {
            addCriterion("like_num >", value, "likeNum");
            return (Criteria) this;
        }

        public Criteria andLikeNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("like_num >=", value, "likeNum");
            return (Criteria) this;
        }

        public Criteria andLikeNumLessThan(Integer value) {
            addCriterion("like_num <", value, "likeNum");
            return (Criteria) this;
        }

        public Criteria andLikeNumLessThanOrEqualTo(Integer value) {
            addCriterion("like_num <=", value, "likeNum");
            return (Criteria) this;
        }

        public Criteria andLikeNumIn(List<Integer> values) {
            addCriterion("like_num in", values, "likeNum");
            return (Criteria) this;
        }

        public Criteria andLikeNumNotIn(List<Integer> values) {
            addCriterion("like_num not in", values, "likeNum");
            return (Criteria) this;
        }

        public Criteria andLikeNumBetween(Integer value1, Integer value2) {
            addCriterion("like_num between", value1, value2, "likeNum");
            return (Criteria) this;
        }

        public Criteria andLikeNumNotBetween(Integer value1, Integer value2) {
            addCriterion("like_num not between", value1, value2, "likeNum");
            return (Criteria) this;
        }

        public Criteria andViewNumIsNull() {
            addCriterion("view_num is null");
            return (Criteria) this;
        }

        public Criteria andViewNumIsNotNull() {
            addCriterion("view_num is not null");
            return (Criteria) this;
        }

        public Criteria andViewNumEqualTo(Integer value) {
            addCriterion("view_num =", value, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumNotEqualTo(Integer value) {
            addCriterion("view_num <>", value, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumGreaterThan(Integer value) {
            addCriterion("view_num >", value, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("view_num >=", value, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumLessThan(Integer value) {
            addCriterion("view_num <", value, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumLessThanOrEqualTo(Integer value) {
            addCriterion("view_num <=", value, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumIn(List<Integer> values) {
            addCriterion("view_num in", values, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumNotIn(List<Integer> values) {
            addCriterion("view_num not in", values, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumBetween(Integer value1, Integer value2) {
            addCriterion("view_num between", value1, value2, "viewNum");
            return (Criteria) this;
        }

        public Criteria andViewNumNotBetween(Integer value1, Integer value2) {
            addCriterion("view_num not between", value1, value2, "viewNum");
            return (Criteria) this;
        }

        public Criteria andComNumIsNull() {
            addCriterion("com_num is null");
            return (Criteria) this;
        }

        public Criteria andComNumIsNotNull() {
            addCriterion("com_num is not null");
            return (Criteria) this;
        }

        public Criteria andComNumEqualTo(Integer value) {
            addCriterion("com_num =", value, "comNum");
            return (Criteria) this;
        }

        public Criteria andComNumNotEqualTo(Integer value) {
            addCriterion("com_num <>", value, "comNum");
            return (Criteria) this;
        }

        public Criteria andComNumGreaterThan(Integer value) {
            addCriterion("com_num >", value, "comNum");
            return (Criteria) this;
        }

        public Criteria andComNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("com_num >=", value, "comNum");
            return (Criteria) this;
        }

        public Criteria andComNumLessThan(Integer value) {
            addCriterion("com_num <", value, "comNum");
            return (Criteria) this;
        }

        public Criteria andComNumLessThanOrEqualTo(Integer value) {
            addCriterion("com_num <=", value, "comNum");
            return (Criteria) this;
        }

        public Criteria andComNumIn(List<Integer> values) {
            addCriterion("com_num in", values, "comNum");
            return (Criteria) this;
        }

        public Criteria andComNumNotIn(List<Integer> values) {
            addCriterion("com_num not in", values, "comNum");
            return (Criteria) this;
        }

        public Criteria andComNumBetween(Integer value1, Integer value2) {
            addCriterion("com_num between", value1, value2, "comNum");
            return (Criteria) this;
        }

        public Criteria andComNumNotBetween(Integer value1, Integer value2) {
            addCriterion("com_num not between", value1, value2, "comNum");
            return (Criteria) this;
        }

        public Criteria andStarNumIsNull() {
            addCriterion("star_num is null");
            return (Criteria) this;
        }

        public Criteria andStarNumIsNotNull() {
            addCriterion("star_num is not null");
            return (Criteria) this;
        }

        public Criteria andStarNumEqualTo(Integer value) {
            addCriterion("star_num =", value, "starNum");
            return (Criteria) this;
        }

        public Criteria andStarNumNotEqualTo(Integer value) {
            addCriterion("star_num <>", value, "starNum");
            return (Criteria) this;
        }

        public Criteria andStarNumGreaterThan(Integer value) {
            addCriterion("star_num >", value, "starNum");
            return (Criteria) this;
        }

        public Criteria andStarNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("star_num >=", value, "starNum");
            return (Criteria) this;
        }

        public Criteria andStarNumLessThan(Integer value) {
            addCriterion("star_num <", value, "starNum");
            return (Criteria) this;
        }

        public Criteria andStarNumLessThanOrEqualTo(Integer value) {
            addCriterion("star_num <=", value, "starNum");
            return (Criteria) this;
        }

        public Criteria andStarNumIn(List<Integer> values) {
            addCriterion("star_num in", values, "starNum");
            return (Criteria) this;
        }

        public Criteria andStarNumNotIn(List<Integer> values) {
            addCriterion("star_num not in", values, "starNum");
            return (Criteria) this;
        }

        public Criteria andStarNumBetween(Integer value1, Integer value2) {
            addCriterion("star_num between", value1, value2, "starNum");
            return (Criteria) this;
        }

        public Criteria andStarNumNotBetween(Integer value1, Integer value2) {
            addCriterion("star_num not between", value1, value2, "starNum");
            return (Criteria) this;
        }

        public Criteria andIsPassedIsNull() {
            addCriterion("is_passed is null");
            return (Criteria) this;
        }

        public Criteria andIsPassedIsNotNull() {
            addCriterion("is_passed is not null");
            return (Criteria) this;
        }

        public Criteria andIsPassedEqualTo(Integer value) {
            addCriterion("is_passed =", value, "isPassed");
            return (Criteria) this;
        }

        public Criteria andIsPassedNotEqualTo(Integer value) {
            addCriterion("is_passed <>", value, "isPassed");
            return (Criteria) this;
        }

        public Criteria andIsPassedGreaterThan(Integer value) {
            addCriterion("is_passed >", value, "isPassed");
            return (Criteria) this;
        }

        public Criteria andIsPassedGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_passed >=", value, "isPassed");
            return (Criteria) this;
        }

        public Criteria andIsPassedLessThan(Integer value) {
            addCriterion("is_passed <", value, "isPassed");
            return (Criteria) this;
        }

        public Criteria andIsPassedLessThanOrEqualTo(Integer value) {
            addCriterion("is_passed <=", value, "isPassed");
            return (Criteria) this;
        }

        public Criteria andIsPassedIn(List<Integer> values) {
            addCriterion("is_passed in", values, "isPassed");
            return (Criteria) this;
        }

        public Criteria andIsPassedNotIn(List<Integer> values) {
            addCriterion("is_passed not in", values, "isPassed");
            return (Criteria) this;
        }

        public Criteria andIsPassedBetween(Integer value1, Integer value2) {
            addCriterion("is_passed between", value1, value2, "isPassed");
            return (Criteria) this;
        }

        public Criteria andIsPassedNotBetween(Integer value1, Integer value2) {
            addCriterion("is_passed not between", value1, value2, "isPassed");
            return (Criteria) this;
        }

        public Criteria andIsTopIsNull() {
            addCriterion("is_top is null");
            return (Criteria) this;
        }

        public Criteria andIsTopIsNotNull() {
            addCriterion("is_top is not null");
            return (Criteria) this;
        }

        public Criteria andIsTopEqualTo(Integer value) {
            addCriterion("is_top =", value, "isTop");
            return (Criteria) this;
        }

        public Criteria andIsTopNotEqualTo(Integer value) {
            addCriterion("is_top <>", value, "isTop");
            return (Criteria) this;
        }

        public Criteria andIsTopGreaterThan(Integer value) {
            addCriterion("is_top >", value, "isTop");
            return (Criteria) this;
        }

        public Criteria andIsTopGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_top >=", value, "isTop");
            return (Criteria) this;
        }

        public Criteria andIsTopLessThan(Integer value) {
            addCriterion("is_top <", value, "isTop");
            return (Criteria) this;
        }

        public Criteria andIsTopLessThanOrEqualTo(Integer value) {
            addCriterion("is_top <=", value, "isTop");
            return (Criteria) this;
        }

        public Criteria andIsTopIn(List<Integer> values) {
            addCriterion("is_top in", values, "isTop");
            return (Criteria) this;
        }

        public Criteria andIsTopNotIn(List<Integer> values) {
            addCriterion("is_top not in", values, "isTop");
            return (Criteria) this;
        }

        public Criteria andIsTopBetween(Integer value1, Integer value2) {
            addCriterion("is_top between", value1, value2, "isTop");
            return (Criteria) this;
        }

        public Criteria andIsTopNotBetween(Integer value1, Integer value2) {
            addCriterion("is_top not between", value1, value2, "isTop");
            return (Criteria) this;
        }

        public Criteria andSnapshotIsNull() {
            addCriterion("snapshot is null");
            return (Criteria) this;
        }

        public Criteria andSnapshotIsNotNull() {
            addCriterion("snapshot is not null");
            return (Criteria) this;
        }

        public Criteria andSnapshotEqualTo(String value) {
            addCriterion("snapshot =", value, "snapshot");
            return (Criteria) this;
        }

        public Criteria andSnapshotNotEqualTo(String value) {
            addCriterion("snapshot <>", value, "snapshot");
            return (Criteria) this;
        }

        public Criteria andSnapshotGreaterThan(String value) {
            addCriterion("snapshot >", value, "snapshot");
            return (Criteria) this;
        }

        public Criteria andSnapshotGreaterThanOrEqualTo(String value) {
            addCriterion("snapshot >=", value, "snapshot");
            return (Criteria) this;
        }

        public Criteria andSnapshotLessThan(String value) {
            addCriterion("snapshot <", value, "snapshot");
            return (Criteria) this;
        }

        public Criteria andSnapshotLessThanOrEqualTo(String value) {
            addCriterion("snapshot <=", value, "snapshot");
            return (Criteria) this;
        }

        public Criteria andSnapshotLike(String value) {
            addCriterion("snapshot like", value, "snapshot");
            return (Criteria) this;
        }

        public Criteria andSnapshotNotLike(String value) {
            addCriterion("snapshot not like", value, "snapshot");
            return (Criteria) this;
        }

        public Criteria andSnapshotIn(List<String> values) {
            addCriterion("snapshot in", values, "snapshot");
            return (Criteria) this;
        }

        public Criteria andSnapshotNotIn(List<String> values) {
            addCriterion("snapshot not in", values, "snapshot");
            return (Criteria) this;
        }

        public Criteria andSnapshotBetween(String value1, String value2) {
            addCriterion("snapshot between", value1, value2, "snapshot");
            return (Criteria) this;
        }

        public Criteria andSnapshotNotBetween(String value1, String value2) {
            addCriterion("snapshot not between", value1, value2, "snapshot");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}